Skip to main content
Version: 5.3

Reporting Service

The reporting service provides methods for reporting in TimePunch. The methods are very powerful and should be used only for reporting purposes due to the performance.

GetAuditFieldModifications

This method provides a change history over one or more entities.

List<ReportAuditFieldModificationDto> GetAuditFieldModifications(
out TpFault fault,
TpAuthentication authentication,
AuditDataSearchDto searchDto);
Needed PermissionauditTrail@access
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
searchDtoSearch object that defines the entities for which the audit trail will be returned.
Return valueAudit trail of the searched entities.

GetDailySummaries

This method returns a daily summary of working time data for the selected period and given employees. The coverage applies to the used identity data.

List<ReportDailySummaryDto> GetDailySummaries(  
out TpFault fault,
TpAuthentication authentication,
DateTime startDate,
DateTime endDate,
List<Guid> userIds);
Needed Permissionsummary@report
NameModifierDescription
faultOutContains the error if an exception occurs.
authenticationUser authentication
startDateFirst reporting date
endDateLast reporting date
userIdsList containing all user ids for which the daily summary shall be reported.
Return valueList of all daily summaries.

GetMonthlySummaries

This method returns a monthly summary of the working time data for the selected period and the transferred employees.

List<ReportSummaryDto> GetMonthlySummaries(  
out TpFault fault,
TpAuthentication authentication, >
DateTime startDate,
DateTime endDate,
List<Guid> userIds);
Needed Permissionsummary@report
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
startDateFirst reporting date
endDateLast reporting date
userIdsList containing all user ids for which the daily summary shall be reported.
Return valueList of all monthly summaries.

GetYearlySummaries

This method returns an annual summary of the working time data for the selected period and the transferred employees.

List<ReportYearlySummaryDto> GetYearlySummaries(  
out TpFault fault,
TpAuthentication authentication,
DateTime startDate,
DateTime endDate,
List<Guid> userIds);
Needed Permissionsummary@report
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
startDateFirst reporting date
endDateLast reporting date
userIdsList containing all user ids for which the daily summary shall be reported.
Return valueList of all yearly summaries.

GetDailySummariesAnonymized

The difference here is that the working time data is largely anonymized, so that it cannot be deduced from the actual times of the employees. This means that the method also requires less authorization.

List<ReportDailySummaryDto> GetDailySummariesAnonymized(  
out TpFault fault,
TpAuthentication authentication,
DateTime startDate,
DateTime endDate,
List<Guid> userIds);
Needed Permissionsummary@reportAnon
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
startDateFirst reporting date
endDateLast reporting date
userIdsList containing all user ids for which the daily summary shall be reported.
Return valueList of all daily summaries.

GetReportTimeEntriesUserBased

This method returns the time entries of the selected employees. The focus of the query is on employee times, not on one or more projects.

List<ReportTimeEntryDto> GetReportTimeEntriesUserBased(  
out TpFault fault,
TpAuthentication authentication,
TimeEntrySearchDto searchDto);
Needed PermissiontimeEntries@report
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
searchDtoSearch object to filter the time entries
Return valueList of all selected time entries

GetReportTimeEntriesProjectBased

This method returns the time entries of the selected projects. In contrast to the GetReportTimeEntriesUserBased method, the focus is not on employees, but on projects. The time accounts of the projects (total, posted, available) are determined for each project on the transferred key date. Nevertheless, the method also selects the postings assigned to the projects and returns them.

List<ReportTimeEntryDto> GetReportTimeEntriesProjectBased(  
out TpFault fault,
TpAuthentication authentication,
out List<ReportProjectTimeDto> projectTimes,
TimeEntrySearchDto searchDto);
Needed Permissionprojects@report
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
projectTimesOutList of all project times at the given reporting date.
searchDtoSearch object to filter the time entries
Return valueList of all selected time entries

GetReportProjectTimes

This method returns all project times of the passed project IDs for the given key date.

List<ReportProjectTimeDto> GetReportProjectTimes(  
out TpFault fault,
TpAuthentication authentication,
ProjectSearchDto searchDto);
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
searchDtoOutSearch object to filter projects
Return valueList of all project times at the given reporting date.

GetUserAttendance

This method returns the attendance list of employees for evaluation in a report.

List<ReportAttendanceDto> GetUserAttendance(  
out TpFault fault,
TpAuthentication authentication,
UserSearchDto searchDto);
Needed Permissionattendance@report
NameModifierDescription
FaultOutContains the error if an exception occurs.
AuthenticationUser authentication
searchDtoSearch object to filter the time entries
Return valueList of all selected time entries

GetSalaryTimes

This method returns the processed wage data. The wage data is aggregated to the month.

List<ReportSalaryTimeDto> GetSalaryTimes(  
out TpFault fault,
TpAuthentication authentication,
DateTime monthToExport,
UserSearchDto searchDto);
Needed PermissionsalaryExport@report
NameModifierDescription
faultOutContains the error if an exception occurs.
authenticationUser authentication
monthToExportDate of the monthly data to export
searchDtoSearch object to filter the time entries
return valueList of all selected time entries

GetReportUserGroups

This method returns the user groups.

List<ReportUserGroupDto> GetReportUserGroups(  
out TpFault fault,
TpAuthentication authentication,
UserGroupSearchDto searchDto);
Needed PermissionuserGroups@access
NameModifierDescription
FaultOutContains the error if an exception occurs.
authenticationUser authentication
searchDtoSearch object to filter the user group
Return valueList of all selected user group

ExportSalaryTimes

This method returns the processed wage data. The wage data is aggregated to the month.

The difference with the "GetSalaryTimes" method is that the data export is stored in the database.

If a previous month is exported again, then TimePunch exports only the difference from the exported projection created from the then current month.

List<ReportSalaryTimeDto> ExportSalaryTimes(  
out TpFault fault,
TpAuthentication authentication,
DateTime monthToExport,
UserSearchDto searchDto);
Needed PermissionsalaryExport@report
NameModifierDescription
faultOutContains the error if an exception occurs.
authenticationUser authentication
monthToExportDate of the monthly data to export
userGroupIdId of the user group to export the salary for
return valueList of all selected time entries